<html>
<title>Golly Help: RuleTree</title>
<body bgcolor="#FFFFCE">

<p>
The RuleTree algorithm allows rules to be specified by special trees
(n-ary decision diagrams) stored in external files.  Given the rule
string "Foo", the RuleTree algorithm will search for a file called Foo.tree.
The format of a .tree file is described <a href="../formats.html#tree">here</a>.
A number of examples are stored in the Rules folder:

<p><b><a href="rule:B3/S23">B3/S23</a></b> or <b><a href="rule:Life">Life</a></b><br>
Conway's Life.  This is the default rule for the RuleTree algorithm.

<p><b><a href="rule:BBM-Margolus-emulated">BBM-Margolus-emulated</a></b><br>
Ed Fredkin's Billiard Ball Model, using the Margolus neighborhood to implement a simple reversible physics of bouncing balls.
In this implementation we are emulating the system using a Moore-neighborhood CA with extra states.
Open <a href="open:Patterns/Margolus/BBM.rle">BBM.rle</a> to see the rule in action.

<p><b><a href="rule:BriansBrain">BriansBrain</a></b><br>
An alternative implementation of the Generations rule /2/3.

<p><b><a href="rule:Byl-Loop">Byl-Loop</a></b><br>
A six state 5-neighborhood CA that supports small self-replicating loops.
To see the rule in action, open
<a href="open:Patterns/Loops/Byl-Loop.rle">Byl-Loop.rle</a>.

<p><b><a href="rule:Caterpillars">Caterpillars</a></b><br>
An alternative implementation of the Generations rule 124567/378/4.

<p><b><a href="rule:Chou-Reggia-1">Chou-Reggia-1</a></b><br>
An eight state 5-neighborhood CA that supports tiny self-replicating loops.
To see the rule in action, open
<a href="open:Patterns/Loops/Chou-Reggia-Loop-1.rle">Chou-Reggia-Loop-1.rle</a>.

<p><b><a href="rule:Chou-Reggia-2">Chou-Reggia-2</a></b><br>
Similar to the above rule but supporting an even smaller self-replicating loop of only five cells.
To see the rule in action, open
<a href="open:Patterns/Loops/Chou-Reggia-Loop-2.rle">Chou-Reggia-Loop-2.rle</a>.

<p><b><a href="rule:CrittersMargolus_emulated">CrittersMargolus_emulated</a></b><br>
The Critters rule is reversible and has Life-like gliders. See <a href="open:Patterns/Margolus/CrittersCircle.rle">CrittersCircle.rle</a>.

<p><b><a href="rule:DLA-Margolus-emulated">DLA-Margolus-emulated</a></b><br>
<a href="http://en.wikipedia.org/wiki/Diffusion-limited_aggregation">Diffusion-limited aggregation</a>
(DLA) is where moving particles can become stuck, forming a distinctive fractal pattern seen in several
different natural physical systems. See <a href="open:Patterns/Margolus/DLA.rle">DLA.rle</a>.

<p><b><a href="rule:Ed-rep">Ed-rep</a></b><br>
A version of Fredkin's parity rule, for 7 states.
See <a href="open:Patterns/Other-Rules/Ed-rep.rle">Ed-rep.rle</a> for an image of Ed Fredkin
that photocopies itself.

<p><b><a href="rule:Evoloop">Evoloop</a></b><br>
An extension of the SDSR Loop, designed to allow evolution through collisions.
To see the rule in action, open
<a href="open:Patterns/Loops/Evoloop.rle">Evoloop.rle</a>.

<p><b><a href="rule:Langtons-Ant">Langtons-Ant</a></b><br>
Chris Langton's other famous CA. An ant walks around on a binary landscape, collecting and depositing pheremones.
See <a href="open:Patterns/Other-Rules/Langtons-Ant.rle">Langtons-Ant.rle</a>.

<p><b><a href="rule:Langtons-Loops">Langtons-Loops</a></b><br>
The original loop. Chris Langton adapted Codd's 1968 CA to support a simple form of
self-replication based on a circulating loop of instructions.
To see the rule in action, open
<a href="open:Patterns/Loops/Langtons-Loops.rle">Langtons-Loops.rle</a>.

<p><b><a href="rule:LifeOnTheEdge">LifeOnTheEdge</a></b><br>
A CA proposed by Franklin T. Adams-Watters in which all the action occurs on
the edges of a square grid.  Each edge can be on or off and has six neighbors,
three at each end.  An edge is on in the next generation iff exactly two of the
edges in its seven edge neighborhood (including the edge itself) are on.
This implementation has 3 live states with suitable icons that allow any pattern
of edges to be created.
Open <a href="open:Patterns/Other-Rules/life-on-the-edge.rle">life-on-the-edge.rle</a>.

<p><b><a href="rule:LifeOnTheSlope">LifeOnTheSlope</a></b><br>
The same behavior as LifeOnTheEdge but patterns are rotated by 45 degrees.
This implementation has only 2 live states (with icons \ and /), so it's a lot easier
to enter patterns and they run faster.
Open <a href="open:Patterns/Other-Rules/life-on-the-slope.rle">life-on-the-slope.rle</a>.

<p><b><a href="rule:Sand-Margolus-emulated">Sand-Margolus-emulated</a></b><br>
MCell's Sand rule is a simple simulation of falling sand particles.
See <a href="open:Patterns/Margolus/Sand.rle">Sand.rle</a>.

<p><b><a href="rule:SDSR-Loop">SDSR-Loop</a></b><br>
An extension of Langton's Loops, designed to cause dead loops to disappear,
allowing other loops to replicate further.
To see the rule in action, open
<a href="open:Patterns/Loops/SDSR-Loop.rle">SDSR-Loop.rle</a>.

<p><b><a href="rule:StarWars">StarWars</a></b><br>
An alternative implementation of the Generations rule 345/2/4.

<p><b><a href="rule:TMGasMargolus_emulated">TMGasMargolus_emulated</a></b><br>
A different version of the HPP gas, implemented in the Margolus neighborhood, see 
<a href="open:Patterns/Margolus/TMGas.rle">TMGas.rle</a>.

<p><b><a href="rule:TripATronMargolus_emulated">TripATronMargolus_emulated</a></b><br>
The Trip-A-Tron rule in the Margolus neighborhood, see <a href="open:Patterns/Margolus/TripATron.rle">TripATron.rle</a>.

<p><b><a href="rule:WireWorld">WireWorld</a></b><br>
A 4-state CA created by Brian Silverman.
WireWorld models the flow of currents in wires and makes it relatively
easy to build logic gates and other digital circuits.
For an impressive example, open
<a href="open:Patterns/WireWorld/primes.mc">primes.mc</a>.

<p>
<font size=+1><b>References:</b></font>

<p><b>Byl-Loop</b> (1989)<br>
<i>J. Byl. "Self-Reproduction in small cellular automata." Physica D, Vol. 34, pages 295-299, 1989.</i>

<p><b>Chou-Reggia-1</b> and <b>Chou-Reggia-2</b> (1993)<br>
<i>J. A. Reggia, S.L.Armentrout, H.-H. Chou, and Y. Peng.
"Simple systems that exhibit self-directed replication."
Science, Vol. 259, pages 1282-1287, February 1993.</i>

<p><b>Evoloop</b> (1999)<br>
<i>Hiroki Sayama "Toward the Realization of an Evolving Ecosystem on Cellular Automata",
Proceedings of the Fourth International Symposium on Artificial Life and Robotics (AROB 4th '99),
M. Sugisaka and H. Tanaka, eds., pp.254-257, Beppu, Oita, Japan, 1999.</i>

<p><b>Langtons-Loops</b> (1984)<br>
<i>C.G.Langton. "Self-reproduction in cellular automata." Physica D, Vol. 10, pages 135-144, 1984.</i>

<p><b>SDSR-Loop</b> (1998)<br>
<i>Hiroki Sayama.  "Introduction of Structural Dissolution into Langton's Self-Reproducing Loop."
Artificial Life VI: Proceedings of the Sixth International Conference on Artificial Life,
C. Adami, R. K. Belew, H. Kitano, and C. E. Taylor, eds., pp.114-122, Los Angeles, California, 1998, MIT Press.</i>

<p><b>WireWorld</b> (1987)<br>
<i>Dewdney, A. K. Computer Recreations. Scientific American 282:136-139, 1990.</i>

</body>
</html>
